iT邦幫忙

2021 iThome 鐵人賽

DAY 20
1
自我挑戰組

一起用python寫UI系列 第 20

Day20 用python寫UI-聊聊Combobox

  • 分享至 

  • xImage
  •  

Combobox就是組合框,是tkinter.ttk的空件,所以要先import才可以用。他跟openmenu很像,也是一種下拉式選單。

♠♣今天的文章大綱♥♦

  • 常見參數
  • 建立Combobox
  • 使用get()
  • 綁定Combobox

常見參數

語法:Combobox( master, option, ... )

參數 說明
textvariable 以變數方式顯示選項鈕文字。
value 選項鈕的值,可以區分所選取的選項鈕。

建立Combobox

import tkinter as tk
import tkinter.ttk as ttk

root = tk.Tk()
root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")
root.iconbitmap('heart_green.ico')
root.geometry('300x100')


cb = ttk.Combobox (root)
cb.pack (pady = 10)

cb_value = ("Badminton", "baseball", "basketball"," football",
            " handball"," hockey"," table tennis"," tennis"," volleyball")
cb['value'] = cb_value
cb.current(0)

root.mainloop()

執行結果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20211004/20140047jVAsCEQWrH.png

使用get()

用get獲得內容

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")
root.iconbitmap('heart_green.ico')
root.geometry('300x100')

def get():
    lb['text'] = str(cb.get())

cb = ttk.Combobox(root, state='readonly')
cb.pack()
cb['value'] = ("Badminton", "baseball", "basketball"," football",
            " handball"," hockey"," table tennis"," tennis"," volleyball")

lb = tk.Label(root, text="show here",fg="#FFAAD5", bg="#7AFEC6",font=("Ravie",10,"bold"))
lb.pack()
bt = tk.Button(root, text='Get', command=get)
bt.pack()

root.mainloop()

執行結果⬇⬇⬇
https://ithelp.ithome.com.tw/upload/images/20211004/2014004727bnfB5CVP.png


綁定Combobox

選項有改變時會產生虛擬事件,所以就用這個事件去做綁定。

cb.bind("<<ComboboxSelected>>", get)

今天的combobox跟昨天openmenu真的很像,不過combobox有一個綁定的方法,可以多練習看看喔~
/images/emoticon/emoticon06.gif


上一篇
Day19 用python寫UI-聊聊OptionMenu
下一篇
Day21 用python寫UI-聊聊PanedWindow & Notebook
系列文
一起用python寫UI30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言